import { createRouter, createWebHistory } from 'vue-router';

// 路由懒加载
const GitLinkPage = () => import('@/views/GitLinkPage.vue');
const DownloadPage = () => import('@/views/DownloadPage.vue');
const AiChatPage = () => import('@/views/AiChatPage.vue');
const NotFoundPage = () => import('@/views/NotFound.vue');

const routes = [
  { path: '/', redirect: '/git-link' },  // 默认重定向到 /git-link
  { path: '/git-link', component: GitLinkPage },  // Git 链接页面
  { path: '/download', component: DownloadPage },  // 下载页面
  { path: '/chat', component: AiChatPage },  // AI 聊天页面
  // 捕获所有未定义的路由，显示404页面
  { path: '/:pathMatch(.*)*', name: 'NotFound', component: NotFoundPage },
];

// 创建 Vue Router 实例，指定 Base URL
const router = createRouter({
  history: createWebHistory('/app/'),  // 如果项目部署在 /app 子路径下
  routes,
});

// 路由守卫示例
router.beforeEach((to, from, next) => {
  // 假设 `isAuthenticated` 是一个标识用户是否登录的状态
  const isAuthenticated = true;  // 修改为你的鉴权逻辑

  if (to.path === '/chat' && !isAuthenticated) {
    // 如果用户未登录且访问 /chat 页面，重定向到 /git-link
    next('/git-link');
  } else {
    // 允许路由继续
    next();
  }
});

export default router;